// 将下面异步代码使用 Promise 的方式改进
setTimeout(() => {
    var a = 'hello';
    setTimeout(() => {
        var b = 'lagou';
        setTimeout(() => {
            var c = 'I ❤ U';
            console.log(a + b + c);
        }, 10);
    }, 10);
}, 10);

var setTimeOutPromisify = function (value) {
    return new Promise(function (res) {
        setTimeout(() => {
            res(value);
        }, 10);
    });
};

setTimeOutPromisify('hello')
    .then(function (data) {
        return setTimeOutPromisify(data + 'lagou');
    })
    .then(function (data) {
        return setTimeOutPromisify(data + 'I ❤ U');
    })
    .then(function (data) {
        console.log(data);
    })
    .catch(function (err) {
        throw new Error(err);
    });
